import wx
import win32api
import sys, os
from xui.win32_hand_biz import Win32HandBiz
class DmWindow(object):
    frame: wx.Frame
    app: wx.App

    def __init__(self, title):
        self.app = wx.App()
        ff = wx.Frame(None, -1, title)
        self.frame = ff
        self.hand = Win32HandBiz()
        self.initWindowBase()
    # 自身窗口置顶
    def setTopWin(this):
        this.frame.SetWindowStyle(this.frame.GetWindowStyle() | wx.STAY_ON_TOP)
    # 设置自身位置
    def setPosition(this,x,y):
        this.frame.SetPosition((x+5,y - 35))
    # 定位自身到右下角
    def setToRightBottom(this,selfWidth,selfHeight):
        screenWidth,screenHeight = this.hand.getScreenSize()
        this.setPosition(screenWidth - selfWidth - 10,screenHeight - selfHeight - 10)
    def initWindowBase(this):
        width = 440
        height = 340
        ff = this.frame
        ff.SetBackgroundColour(wx.Colour(225, 225, 225))
        ff.SetSize(width, height)
        ff.Center()
        icon = wx.Icon(wx.Bitmap.FromBuffer(16, 16, this.getIconImgLogo()))
        ff.SetIcon(icon)
        this.setToRightBottom(width,height)
        this.setTopWin()
    def toShowWindow(self):
        self.frame.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
        self.frame.Show(True)
        self.app.MainLoop()
        
    def OnCloseWindow(self,v2):
        os._exit(1)
    def getIconImgLogo(self):
        return bytearray(b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xfc\xff\xfb\xfb\xfb\xea\xf3\xf6\xba\xd6\xee\xc2\xd9\xec\xf3\xf4\xf6\xfb\xfb\xf9\xfc\xfe\xfd\xfe\xfe\xfe\xff\xff\xfd\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xfe\xfe\xfa\xfc\xf99\x85\xf1\x17r\xfe\x14q\xfd\x15p\xfd\x15p\xff\x15p\xfd\x16q\xfd]\xa0\xe9\xfb\xfb\xfd\xfe\xfd\xf9\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xfe\xfe\xfe\xef\xf8\xf5\x1ax\xfe\x13{\xfe\x16x\xfd\x16x\xff\x16x\xff\x16x\xff\x16x\xfd\x19w\xff\x16x\xfd\x17x\xfb\xf8\xf9\xfb\xfe\xfd\xff\xff\xff\xff\xff\xff\xff\xf8\xf9\xfd\x19\x7f\xfd\x19\x80\xff\x19\x7f\xff\x19\x7f\xfd\x18\x7f\xfe\x17\x81\xfb\x18\x80\xfd\x19\x81\xfd\x1a\x80\xff\x18\x7f\xff\x18~\xfe\x16\x7f\xfc\xfb\xfd\xfa\xff\xff\xff\xff\xfc\xf9\x16\x84\xfc\x1a\x87\xfe\x19\x88\xfe\x19\x86\xfdF\x9f\xf0\xc7\xe2\xf4\xc8\xe1\xf5\xca\xe2\xf4\xca\xe2\xf4 \x88\xf8\x19\x88\xfc\x19\x86\xfd\x1a\x89\xfe2\x93\xf1\xfd\xfc\xf8\xf0\xf5\xf8\x1a\x8e\xfb\x1d\x8d\xfd\x1c\x8e\xfe\x89\xc2\xe9\xa8\xd2\xee\x8e\xc6\xe9\x8c\xc5\xe9\x8c\xc8\xea\x8c\xc6\xe8\x96\xc8\xebt\xb9\xec\x1a\x8e\xfb\x1b\x8f\xfe\x1b\x8f\xfe\xfc\xfd\xf7R\xaf\xee\x1e\x94\xfe\x1e\x93\xfc\x18\x95\xff\xfb\xfb\xfb\xfe\xfe\xfc\xfd\xfd\xfdI\xa4\xf1k\xba\xf0\xfc\xfe\xfd\xfe\xfe\xfc\xf4\xfc\xfd\x1f\x95\xff\x1e\x94\xfe\x1f\x94\xfd\xa8\xd8\xee\x1c\x9b\xfc\x1f\x9b\xfb \x9b\xfb\x1b\x9b\xfd\xfc\xfc\xfe\xfd\xfe\xf9\xfd\xfd\xfbH\xac\xf0T\xb1\xf4\xfc\xfe\xfb\xfe\xfd\xfb\xf2\xfa\xfc"\x9c\xfe \x9c\xfe \x9b\xfbF\xad\xf0\x1b\xa2\xfc"\xa3\xfe!\xa4\xfe \xa3\xfb5\xa8\xf4\x1e\x9f\xfaG\xb3\xf3\x92\xcf\xf0\x82\xc9\xf2@\xae\xf3\x1c\xa1\xfc9\xae\xf3"\xa2\xfd!\xa2\xfe"\xa2\xfd2\xa9\xf6)\xaa\xfc#\xac\xfd%\xa9\xfe\x1f\xaa\xfd\xfd\xfd\xff\xfd\xff\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfd\xfd\xfd\xfd\xfd\xfd\xfe\xfe\xfe\xf2\xfc\xfd\x1f\xaa\xff#\xac\xfd&\xaa\xfde\xc4\xed\x9f\xdc\xef%\xb3\xfe$\xb2\xfc \xb2\xfd\xfe\xfe\xfe\xff\xff\xff\xfe\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf4\xfb\xfc$\xb2\xfc$\xb2\xfe%\xb1\xfc\xdf\xf2\xf8\xfb\xfd\xfa(\xb8\xfe(\xb8\xfe$\xb8\xfe\xfe\xfe\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xfe\xfe\xf2\xfb\xfc)\xb9\xff\'\xba\xff)\xb8\xfc\xfc\xfe\xfb\xfc\xfc\xfcn\xd1\xef*\xbe\xfc)\xbf\xfa~\xd3\xf0~\xd3\xf1|\xd4\xf2~\xd3\xf1~\xd3\xf2|\xd4\xf1~\xd3\xf2{\xd3\xf1*\xbe\xfc\'\xc0\xfa\xbb\xe6\xf2\xfc\xfd\xf8\xf8\xfa\xf9\xf6\xf6\xf4)\xc3\xf5*\xc1\xf8)\xc3\xf9)\xc3\xf9(\xc2\xf8)\xc3\xf9(\xc2\xf6(\xc2\xf8(\xc1\xfb\'\xc2\xf8,\xc2\xf7J\xca\xf0\xf8\xf7\xf5\xf8\xf8\xf8\xf1\xf1\xf1\xef\xef\xf1\xee\xec\xedK\xca\xea+\xc2\xf1*\xc3\xef*\xc1\xf0*\xc1\xee*\xc1\xf0+\xc2\xef+\xc2\xf1+\xc2\xef|\xd4\xe7\xed\xed\xeb\xf0\xf0\xf0\xf1\xf1\xf1\xe2\xe4\xe3\xe3\xe3\xe3\xe2\xe4\xe3\xe1\xe1\xe1\xdc\xe0\xdfD\xc4\xdf\'\xbd\xe2+\xbe\xe0)\xbf\xe2%\xbf\xe3Y\xc5\xdf\xe0\xe1\xe3\xe1\xe1\xe1\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3')